﻿// Copyright (c) Vitaly Kamiansky. All rights reserved. 
// See License.txt in the project root.

using System;

namespace Property.Workers
{
    public abstract class FunctionWorkerDecoratorPrototype<T>
    {
        public FunctionWorkerDecoratorPrototype(IFunctionWorkerPrototype<T> compositionBasePrototype)
        {
            _CompositionBasePrototype = compositionBasePrototype;
        }

        //=//

        protected readonly IFunctionWorkerPrototype<T> _CompositionBasePrototype;

        public abstract IWorker Create(Func<T> getValue);
    }
}
